<?php
// ====================================================================================
/**
 * @author		SDPsM
 * @link		http://alest.cc
 */
// ====================================================================================

class StringHelper
{
	// ====================================================================================

	public static function translit($str)
	{
		$translit = array(
			'А' => 'a',
			'Б' => 'b',
			'В' => 'v',
			'Г' => 'g',
			'Ґ' => 'g',
			'Д' => 'd',
			'Е' => 'e',
			'Є' => 'e',
			'Ё' => 'e',
			'Ж' => 'zh',
			'З' => 'z',
			'И' => 'i',
			'І' => 'i',
			'Ї' => 'i',
			'Й' => 'y',
			'К' => 'k',
			'Л' => 'l',
			'М' => 'm',
			'Н' => 'n',
			'О' => 'o',
			'П' => 'p',
			'Р' => 'r',
			'С' => 's',
			'Т' => 't',
			'У' => 'u',
			'Ф' => 'f',
			'Х' => 'h',
			'Ц' => 'ts',
			'Ч' => 'ch',
			'Ш' => 'sh',
			'Щ' => 'sch',
			'Ъ' => '',
			'Ы' => 'y',
			'Ь' => '',
			'Э' => 'e',
			'Ю' => 'ju',
			'Я' => 'ja',
			'а' => 'a',
			'б' => 'b',
			'в' => 'v',
			'г' => 'g',
			'ґ' => 'g',
			'д' => 'd',
			'е' => 'e',
			'є' => 'e',
			'ё' => 'e',
			'ж' => 'zh',
			'з' => 'z',
			'и' => 'i',
			'і' => 'i',
			'ї' => 'i',
			'й' => 'y',
			'к' => 'k',
			'л' => 'l',
			'м' => 'm',
			'н' => 'n',
			'о' => 'o',
			'п' => 'p',
			'р' => 'r',
			'с' => 's',
			'т' => 't',
			'у' => 'u',
			'ф' => 'f',
			'х' => 'h',
			'ц' => 'ts',
			'ч' => 'ch',
			'ш' => 'sh',
			'щ' => 'sch',
			'ъ' => '',
			'ы' => 'y',
			'ь' => '',
			'э' => 'e',
			'ю' => 'ju',
			'я' => 'ja',
			' ' => '-',
			'&amp;' => 'i',
			'&' => 'i',
			'.' => '',
			',' => '',
			':' => '',
			';' => '',
			'—' => '-',
			'«' => '',
			'»' => '',
			'&quot;' => '',
			'"' => '',
			"'" => ''
		);
		$str = preg_replace('#\s+#', ' ', $str);
		$str = strtr(trim($str), $translit);
		$str = strtolower($str);
		return $str;
	}
	
	// ====================================================================================

	public static function changeLayout($str)
	{
		$substitute = array(
			'А' => 'F',
			'Б' => '<',
			'В' => 'D',
			'Г' => 'U',
			'Д' => 'L',
			'Е' => 'T',
			'Ж' => ':',
			'З' => 'P',
			'И' => 'B',
			'Й' => 'Q',
			'К' => 'R',
			'Л' => 'K',
			'М' => 'V',
			'Н' => 'Y',
			'О' => 'J',
			'П' => 'G',
			'Р' => 'H',
			'С' => 'C',
			'Т' => 'N',
			'У' => 'E',
			'Ф' => 'A',
			'Х' => '{',
			'Ц' => 'W',
			'Ч' => 'X',
			'Ш' => 'I',
			'Щ' => 'O',
			'Ъ' => '}',
			'Ы' => 'S',
			'Ь' => 'M',
			'Э' => '"',
			'Ю' => '>',
			'Я' => 'Z',
			
			'а' => 'f',
			'б' => ',',
			'в' => 'd',
			'г' => 'u',
			'д' => 'l',
			'е' => 't',
			'ж' => ';',
			'з' => 'p',
			'и' => 'b',
			'й' => 'q',
			'к' => 'r',
			'л' => 'k',
			'м' => 'v',
			'н' => 'y',
			'о' => 'j',
			'п' => 'g',
			'р' => 'h',
			'с' => 'c',
			'т' => 'n',
			'у' => 'e',
			'ф' => 'a',
			'х' => '[',
			'ц' => 'w',
			'ч' => 'x',
			'ш' => 'i',
			'щ' => 'o',
			'ъ' => ']',
			'ы' => 's',
			'ь' => 'm',
			'э' => "'",
			'ю' => '.',
			'я' => 'z',
		
			'A' => 'Ф',
			'B' => 'И',
			'C' => 'С',
			'D' => 'В',
			'E' => 'У',
			'F' => 'А',
			'G' => 'П',
			'H' => 'Р',
			'I' => 'Ш',
			'J' => 'О',
			'K' => 'Л',
			'L' => 'Д',
			'M' => 'Ь',
			'N' => 'Т',
			'O' => 'Щ',
			'P' => 'З',
			'Q' => 'Й',
			'R' => 'К',
			'S' => 'Ы',
			'T' => 'Е',
			'U' => 'Г',
			'V' => 'М',
			'W' => 'Ц',
			'X' => 'Ч',
			'Y' => 'Н',
			'Z' => 'Я',

			'a' => 'ф',
			'b' => 'и',
			'c' => 'с',
			'd' => 'в',
			'e' => 'у',
			'f' => 'а',
			'g' => 'п',
			'h' => 'р',
			'i' => 'ш',
			'j' => 'о',
			'k' => 'л',
			'l' => 'д',
			'm' => 'ь',
			'n' => 'т',
			'o' => 'щ',
			'p' => 'з',
			'q' => 'й',
			'r' => 'к',
			's' => 'ы',
			't' => 'е',
			'u' => 'г',
			'v' => 'м',
			'w' => 'ц',
			'x' => 'ч',
			'y' => 'н',
			'z' => 'я',

			'.' => 'ю',
			',' => 'б',
			':' => 'ж',
			';' => 'Ж',
			'"' => 'Э',
			"'" => 'э'
		);
		$str = strtr(trim($str), $substitute);
		$str = strtolower($str);
		return $str;
	}
	
	// ====================================================================================

	public static function str2date($str)
	{
		$str = str_replace(',', '.', $str);
		$str = strtotime($str);
		if($str == -1)
		{
			$str = time();
		}
		return $str;
	}

	// ====================================================================================

	public static function date2text($date)
	{
		$months = array('января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
		
		$num = date('n', $date);
		if($num > 0)
		{
			$num --;
		}
		
		return date('j', $date) . ' ' . $months[$num];
	}
	
	// ====================================================================================
}